package com.cweb.admin.model.wx.wx_mp_accept_record.service;

import com.cweb.util.obj.InitUtil;
import com.cweb.admin.model.wx.wx_mp_accept_record.entity.WxMpAcceptRecord;
import com.cweb.admin.model.wx.wx_mp_accept_record.mapper.WxMpAcceptRecordMapper;
import com.cweb.framework.base.serivce.BaseMybatisService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 微信-公众号消息接收记录 服务实现类
 * @since 2020-08-14
 */
@Service
public class WxMpAcceptRecordService extends BaseMybatisService<WxMpAcceptRecordMapper, WxMpAcceptRecord> {
    /**
     * 公众号接受消息
     */
    public void saveMpAcceptRecord(Long platformId, WxMpXmlMessage inMessage){
        // 创建消息
        WxMpAcceptRecord mpAcceptRecord = new WxMpAcceptRecord();
        mpAcceptRecord.setPlatformId(platformId); // 平台id
        mpAcceptRecord.setMsgId(inMessage.getMsgId()); // 消息id
        mpAcceptRecord.setFromUserName(inMessage.getFromUser()); // 开发者微信号
        mpAcceptRecord.setToUserName(inMessage.getToUser()); // 发送方帐号
        mpAcceptRecord.setMsgType(inMessage.getMsgType()); // 消息类型
        mpAcceptRecord.setContent(inMessage.getContent()); // 文本消息内容
        mpAcceptRecord.setMediaId(inMessage.getMediaId()); // 图片消息媒体id
        mpAcceptRecord.setPicUrl(inMessage.getPicUrl()); // 图片链接
        mpAcceptRecord.setFormat(inMessage.getFormat()); // 语音格式
        mpAcceptRecord.setRecognition(inMessage.getRecognition()); // 语音识别结果，UTF8编码
        mpAcceptRecord.setThumbMediaId(inMessage.getThumbMediaId()); // 视频消息缩略图的媒体id
        mpAcceptRecord.setLabel(inMessage.getLabel()); // 地理位置信息
        mpAcceptRecord.setLatitude(InitUtil.initBigDecimal(inMessage.getLatitude())); // 地理位置纬度
        mpAcceptRecord.setLongitude(InitUtil.initBigDecimal(inMessage.getLongitude())); // 地理位置经度
        mpAcceptRecord.setPrecision(InitUtil.initBigDecimal(inMessage.getPrecision())); // 地理位置经度
        mpAcceptRecord.setScale(InitUtil.initBigDecimal(inMessage.getScale())); // 地图缩放大小
        mpAcceptRecord.setTitle(inMessage.getTitle()); // 链接-消息标题
        mpAcceptRecord.setDescription(inMessage.getDescription()); // 链接-消息描述
        mpAcceptRecord.setUrl(inMessage.getUrl()); // 链接-消息链接
        mpAcceptRecord.setEvent(inMessage.getEvent()); // 事件类型
        mpAcceptRecord.setEventKey(inMessage.getEventKey()); // 事件KEY值
        mpAcceptRecord.setTicket(inMessage.getTicket()); // 二维码的ticket
        mpAcceptRecord.setMessageTime(new Date(inMessage.getCreateTime())); // 消息创建时间
        // 保存
        this.save(mpAcceptRecord);
    }
}